package ar.uba.fi.tecnicas.vista;

import java.awt.Point;

import javax.swing.JComboBox;
import javax.swing.JLabel;

import ar.uba.fi.tecnicas.vista.PanelFabrica.IFabricaObserver;

public class PanelElegirPrimeraMaquina extends PanelOperacion implements IFabricaObserver
{
	protected static final long serialVersionUID = 0;
	
	private JComboBox cbLineaProduccion;
	private JLabel lblPosicion;
	private Point posicion;
	
	public PanelElegirPrimeraMaquina(PanelControles panelControles)
	{
		super(panelControles);
	}
	
	@Override
	protected void asignarEventos() 
	{	
		panelControles.getFrameJuego().agregarObserverPanelFabrica(this);
	}

	@Override
	protected void inicializarComponentes() 
	{
		this.cbLineaProduccion = GeneradorControles.getComboLineas();
		
		this.lblPosicion = new JLabel("Posicion seleccionada");
		
		this.componentes.add(this.lblPosicion);
		this.componentes.add(this.cbLineaProduccion);
	}

	@Override
	protected void realizarOperacion() 
	{
		int indexLineaProduccion = cbLineaProduccion.getSelectedIndex();

		this.panelControles.getFrameJuego().seleccionarPrimeraMaquina(indexLineaProduccion, this.posicion);
	}

	@Override
	protected void terminarOperacion()
	{
		panelControles.getFrameJuego().quitarListenerPanelFabrica(this);
	}
	
	public void posicionSeleccionada(Point posicion)
	{
		this.posicion = posicion;
		this.lblPosicion.setText("(" + posicion.x + ", " + posicion.y + ")");
	}
	
	
}
